# -*- coding: utf-8 -*-
"""
Created on Sun Apr 28 15:53:26 2019
定义数据库模型

@author: puhua
"""
from __future__ import unicode_literals

from django.db import models
from django.utils.encoding import python_2_unicode_compatible


# Create your models here.
# 使用python_2_unicode_compatible是为了让python3的__str__函数与python2的__unicode__函数相兼容
@python_2_unicode_compatible
class Author(models.Model):
    name = models.CharField(max_length=50)
    qq = models.CharField(max_length=10)
    addr = models.TextField()
    email = models.EmailField()

    def __str__(self):
        return self.name


@python_2_unicode_compatible
class Article(models.Model):
    title = models.CharField(max_length=50)
    # 在blog_article数据表中不显示，但是有author_id字段
    # 关联到blog_author表中的id字段
    author = models.ForeignKey(Author)
    content = models.TextField()
    score = models.IntegerField()  # 文章的打分
    # 在blog_article数据表中不显示，但是有数据表blog_article_tags,
    # article_id字段和tag_id字段把blog_article表的id字段和blog_tag
    # 的id字段关联在一起
    tags = models.ManyToManyField('Tag')

    def __str__(self):
        return self.title


@python_2_unicode_compatible
class Tag(models.Model):
    name = models.CharField(max_length=50)

    def __str__(self):
        return self.name
